Windows Registry একটি অত্যন্ত গুরুত্বপূর্ণ অংশ, যা সিস্টেম কনফিগারেশন এবং অ্যাপ্লিকেশন সেটিংস সংরক্ষণ করে। Registry Permissions এবং Security Management হল সিস্টেমের নিরাপত্তা এবং অ্যাক্সেস কন্ট্রোলের জন্য গুরুত্বপূর্ণ একটি বিষয়, যা সিস্টেম অ্যাডমিনিস্ট্রেটরদের Registry কী-এর মাধ্যমে সঠিকভাবে ব্যবস্থাপনা করার সুযোগ দেয়। PowerShell-এর মাধ্যমে Registry Permissions এবং Security Settings-এ পরিবর্তন, নিরাপত্তা সেটিংস চেক এবং অ্যাক্সেস কন্ট্রোলের বিভিন্ন কাজ করা যায়।
Windows Registry কী?
Windows Registry হল একটি ডেটাবেস যেখানে Windows অপারেটিং সিস্টেমের কনফিগারেশন তথ্য, অ্যাপ্লিকেশন সেটিংস, এবং সিস্টেম রিসোর্সের তথ্য সংরক্ষিত থাকে। এটি সিস্টেমের প্রায় প্রতিটি দিকের কনফিগারেশন ও অ্যাপ্লিকেশন ইন্টারঅ্যাকশনের জন্য অত্যন্ত গুরুত্বপূর্ণ।
Registry-এর প্রধান অংশগুলি হলো:
- HKEY_LOCAL_MACHINE (HKLM): সিস্টেমের কনফিগারেশন সংরক্ষণ করে।
- HKEY_CURRENT_USER (HKCU): বর্তমান ব্যবহারকারীর কনফিগারেশন সংরক্ষণ করে।
- HKEY_CLASSES_ROOT (HKCR): ফাইল অ্যাসোসিয়েশন এবং COM অবজেক্টের জন্য।
- HKEY_USERS (HKU): সিস্টেমে সক্রিয় সমস্ত ব্যবহারকারীর সেটিংস।
Registry Permissions এবং Security Settings
Registry Permissions হলো সেই অধিকারগুলি যা ব্যবহারকারীরা Registry কী বা ভ্যালুগুলির উপর পেতে পারে (যেমন Read, Write, Delete, Full Control)। Registry-এর নিরাপত্তা ব্যবস্থাপনা, একে অ্যাক্সেস কন্ট্রোল লিস্ট (ACLs) মাধ্যমে পরিচালনা করা হয়।
Registry Permissions পরিবর্তন বা চেক করতে আপনাকে PowerShell ব্যবহার করতে হবে, যেখানে Get-Acl, Set-Acl, এবং New-Object System.Security.AccessControl.RegistrySecurity ব্যবহার করা হয়।
PowerShell দিয়ে Registry Permissions চেক করা
Registry-এর উপর বর্তমান নিরাপত্তা সেটিংস এবং পারমিশন দেখতে Get-Acl কমান্ড ব্যবহার করা হয়। এটি Registry কী-এর নিরাপত্তা অ্যাক্সেস কন্ট্রোল চেক করতে সাহায্য করে।
উদাহরণ:
Get-Acl -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion"
এটি HKEY_CURRENT_USER Registry কী-এর পারমিশন এবং নিরাপত্তা সেটিংস দেখাবে।
Get-Acl এর আউটপুট
Get-Acl কমান্ডের আউটপুটটি কিছুটা এইরকম হবে:
Path : Microsoft.PowerShell.Security.AccessControl.RegistrySecurity
Owner : BUILTIN\Administrators
Group : Everyone
Access : BUILTIN\Administrators Allow FullControl
NT AUTHORITY\SYSTEM Allow FullControl
Everyone Allow Read
এখানে, আপনি দেখতে পাচ্ছেন কী-টি কারা ব্যবহার করতে পারবে এবং কী ধরনের অ্যাক্সেস আছে।
PowerShell দিয়ে Registry Permissions পরিবর্তন করা
PowerShell-এর মাধ্যমে Registry Permissions পরিবর্তন করতে Set-Acl কমান্ড ব্যবহার করা হয়। তবে, Registry Permissions পরিবর্তন করার আগে প্রথমে আপনাকে একটি RegistrySecurity অবজেক্ট তৈরি করতে হয়, যা নতুন নিরাপত্তা অ্যাক্সেস কন্ট্রোল (ACL) অ্যাসাইন করবে।
উদাহরণ: Registry Permissions পরিবর্তন করা
ধরা যাক, আপনি HKEY_LOCAL_MACHINE Registry কী-তে নতুন একটি ব্যবহারকারীকে Full Control পারমিশন দিতে চান। এটি করতে নিচের স্টেপ অনুসরণ করতে হবে।
- RegistrySecurity অবজেক্ট তৈরি করা:
$registryPath = "HKLM:\Software\MySoftware"
$registrySec = Get-Acl $registryPath
$rule = New-Object System.Security.AccessControl.RegistryAccessRule("DOMAIN\User", "FullControl", "Allow")
$registrySec.SetAccessRule($rule)
Set-Acl -Path $registryPath -AclObject $registrySec
এই স্ক্রিপ্টটি:
- Get-Acl দিয়ে Registry কী-এর বর্তমান পারমিশন নিয়ে আসবে।
- New-Object System.Security.AccessControl.RegistryAccessRule দিয়ে নতুন FullControl পারমিশন তৈরি করবে।
- Set-Acl দিয়ে Registry কী-তে নতুন পারমিশন সেট করবে।
PowerShell দিয়ে Registry Keys এবং Values তৈরি করা
Registry Keys এবং Values তৈরি বা মুছে ফেলা যায় PowerShell দিয়ে। New-Item এবং New-ItemProperty কমান্ড ব্যবহার করে আপনি নতুন Registry কী বা ভ্যালু তৈরি করতে পারেন।
নতুন Registry Key তৈরি করা
New-Item -Path "HKCU:\Software" -Name "MySoftware" -Force
এই কমান্ডটি HKEY_CURRENT_USER\Software পাথে একটি নতুন Registry কী তৈরি করবে MySoftware নামে।
নতুন Registry Value তৈরি করা
New-ItemProperty -Path "HKCU:\Software\MySoftware" -Name "Version" -Value "1.0" -PropertyType String
এই কমান্ডটি নতুন Version নামে একটি ভ্যালু তৈরি করবে এবং সেটি 1.0 ভ্যালু সেট করবে।
Registry Permissions ম্যানেজমেন্টের জন্য টিপস
- Registry Editor-এর পরিবর্তে PowerShell ব্যবহার করা আরও সুরক্ষিত, কারণ PowerShell দ্বারা আপনি আরও দ্রুত এবং সঠিকভাবে সিস্টেম কনফিগারেশন পরিবর্তন করতে পারেন।
- Registry Permissions-এ পরিবর্তন করার সময় সাবধানতা অবলম্বন করুন, কারণ ভুলভাবে সিস্টেম কনফিগারেশন পরিবর্তন করলে সিস্টেম ক্র্যাশ বা নিরাপত্তা সমস্যা তৈরি হতে পারে।
- PowerShell স্ক্রিপ্ট ব্যবহার করে ব্যাচ প্রক্রিয়ায় Registry Permissions পরিবর্তন করতে পারেন, যা বড় বড় নেটওয়ার্ক বা সিস্টেমের ক্ষেত্রে কার্যকরী।
উপসংহার
PowerShell দিয়ে Registry Permissions এবং Security Management একটি অত্যন্ত গুরুত্বপূর্ণ এবং শক্তিশালী কার্যকলাপ। এটি সিস্টেম অ্যাডমিনিস্ট্রেটরদের তাদের সিস্টেমের নিরাপত্তা এবং অ্যাক্সেস কন্ট্রোল সহজে ম্যানেজ করতে সাহায্য করে। PowerShell কমান্ডগুলি ব্যবহৃত হয়ে Registry-এর নিরাপত্তা সেটিংস চেক, পরিবর্তন, এবং নতুন Permissions অ্যাসাইন করা সম্ভব।
Read more